package main

import (
	"context"
	"gitee.com/brookscoder/awesome-mall-go/common/log"
	"gitee.com/brookscoder/awesome-mall-go/dao/redis"
	"gitee.com/brookscoder/awesome-mall-go/dao/sqlx"
	"gitee.com/brookscoder/awesome-mall-go/routers"
	"go.uber.org/zap"
)

func main() {
	// 0.通过sqlX连接数据库
	err := sqlx.InitDB()
	if err != nil {
		log.Error(context.Background(), "数据库连接失败", zap.Error(err))
		return
	} else {
		log.Info(context.Background(), "数据库连接成功", zap.Skip())
		sqlx.TestDataBase()
	}

	// 1.通过go-redis连接键值对存储数据库
	l := redis.InitClient()
	if false == l {
		log.Error(context.Background(), "redis连接失败")
	} else {
		log.Info(context.Background(), "redis连接成功")
		redis.TestRedis()
	}

	// 2.注册路由并监听接口在8080
	r := routers.RegisterRouter()
	err = r.Run(":8080")
	if err != nil {
		log.Error(context.Background(), "接口监听失败", zap.Error(err))
		return
	}
}
